chore(release): 0.4.0#279
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
ec9f440 to
8d5b55e
Compare
8d5b55e to
1a8f1e3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The next claudecode.nvim release. Merging this PR creates the release tag and GitHub Release, then starts Communique GitHub Release note generation.
[0.4.0] - 2026-06-15
Added
:ClaudeCodeSendText {text}command (andrequire("claudecode.terminal").send_to_terminal(text, opts)) to send arbitrary text to the open Claude terminal as if typed at the prompt, submitting by default;:ClaudeCodeSendText!inserts without submitting. Multi-line text uses bracketed paste. Works with the in-editornative/snacksproviders only (#272, #197).User ClaudeCodeSendCompleteautocmd, fired once per file when a send is accepted while Claude is connected, withdata = { file_path, start_line, end_line, context }(lines 0-indexed). Lets you focus a Claude session running outside Neovim (provider = "none"/"external"), e.g. viatmux select-pane, whichfocus_after_sendcannot do (#265, #228).User ClaudeCodeDiffOpened/ClaudeCodeDiffClosedautocmds carrying diff metadata so configs can react to diffs opening and closing (resize, relayout, statusline, etc.) (#270).terminal.diff_split_width_percentageto set a separate Claude terminal width while a diff is open (falls back tosplit_width_percentagewhen unset), anddiff_opts.auto_resize_terminal(defaulttrue) to opt out of automatic width management entirely (#270).:ClaudeCodeCloseAllDiffscommand to close pending Claude diffs at once. Diffs already accepted but not yet written are left intact (#261, #248).:checkhealth claudecodehealth check that verifies Neovim version,setup(), Claude CLI resolution, terminal provider sanity, the WebSocket server/port, the IDE lock file, and live connection state (#275).<leader>asin a netrw buffer adds marked files or the file under the cursor to Claude's context (#62).:ClaudeCodeTreeAdd/:ClaudeCodeSend, adding selected files fromSnacks.explorer()andSnacks.pickerto Claude's context (#269, #192).Claude Opus (Latest), etc.) with new 1M-context aliases (opus[1m],sonnet[1m]) and aDefault (account recommended)entry (#256).Fixed
EADDRINUSE, so a second Neovim instance no longer fails to start with "Failed to listen on port ... address already in use" (#284, #283).vim.loop.random) and the lock file is written atomically with0600permissions in a0700directory (previously world-readable) (#259).on_disconnectnow fires on all teardown paths (EOF, read/protocol errors, keepalive timeout), fixing "phantom" client entries that accumulated over time (#176, #170).file://URI (#163).diff_opts.vertical_splitandopen_in_current_tabare honored again; they were silently ignored due to merge ordering (#142).keep_terminal_focus = truenow works for floating Claude terminals (e.g. Snacksposition = "float"), which previously lost focus to the diff split (#178, #150).:q(or:close/<C-w>c/ tab close) now resolves it as rejected via a newWinClosedautocmd, matching the documented behavior (#266, #238).open_in_new_tab = true, a stranded empty tab is no longer left behind (and focus returns to the original tab) when diff setup errors (#264, #262).BufEnter, so switching buffers without moving the cursor updates Claude (#159).provider = "none") now matches the Claude buffer name by substring, fixing skipped/incorrect context detection (#160).localhost,127.0.0.1,::1) are added tono_proxy/NO_PROXYfor the Claude terminal so a configured proxy no longer tunnels Claude'sws://127.0.0.1IDE connection and times out @ mentions (#268, #70).opus[1m],sonnet[1m]) launched via the Snacks provider no longer fail with a shell glob error; the launch command is now passed as an argv list (#256).terminal.fix_streamed_paste("auto"by default) (#252).focus_after_send = truenow emits a one-time warning underprovider = "none"/"external"(which run Claude outside Neovim) pointing toUser ClaudeCodeSendComplete(#265, #228).Maintained by the release-please workflow. CHANGELOG.md and the release PR body are regenerated by Communique on every push to main, so manual edits to this PR are overwritten.